Zusammenfassung 2018-04-28T0800

Einführung (BUJ)

Methodologie theoretisch

Data Science komplett

Voraussetzungen

https://www.codecademy.com/learn/learn-python

  • Anfänger Tutorial Python zum Durchklicken auf Codecademy
  • Gated Progress, gute Lernkontrolle, Basiswissen
  • Umstieg von Java etc ... aber dafür zu didaktisch, zu langsam?

https://www.datacamp.com/courses/intro-to-python-for-data-science/

  • Python Basics
  • Python Lists
  • Functions and Packages
  • NumPy

"dicke" Tutorials

https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/

  • Python Grundkurs mit Ausrichtung nach Data Science
  • (beinhaltet auch Grundkurs für NumPy, ein Python Tool für Datenauswertung)
  • "Inder": next steps; beginner, advanced, expert
  • Diskussion: Moodle etherpad
  • Inhalt
    • Basics of Python for Data Analysis
      • Why learn Python for data analysis?
      • Python 2.7 v/s 3.4
      • How to install Python?
      • Running a few simple programs in Python
    • Python libraries and data structures
      • Python Data Structures
      • Python Iteration and Conditional Constructs
      • Python Libraries
    • Exploratory analysis in Python using Pandas
      • Introduction to series and dataframes
      • Analytics Vidhya dataset- Loan Prediction Problem
    • Data Munging in Python using Pandas
    • Building a Predictive Model in Python
      • Logistic Regression
      • Decision Tree
      • Random Forest

https://www.analyticsvidhya.com/learning-paths-data-science-business-analytics-business-intelligence-big-data/learning-path-data-science-python/:

https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners

  • Expert level
  • DataScience Tutorial auf Basis von Kaggle und Python
  • Grundkenntnisse sind vorausgesetzt, sehr starke Konzentration auf Kaggle Plattform, weite Abdeckung, evtl. auszugsweise Intressant?
  • Diskussion: Moodle etherpad

https://developers.google.com/machine-learning/crash-course/

  • Google- Kurs, weitgehend
  • Diskussion: Moodle etherpad
  • Prerequisite:Python Programming
    • Basic Python Defining and calling functions, using positional and keyword parameters | Dictionaries, lists, sets (creating, accessing, and iterating) | for loops, for loops with multiple iterator variables (e.g., for a, b in [(1,2), (3,4)]) | if/else conditional blocks and conditional expressions | String formatting (e.g., '%.2f' % 3.14) | Variables, assignment, basic data types (int, float, bool, str) | The pass statement
    • Intermediate Python List comprehensions | Lambda functions
  • Inhalte:

Cheat Sheets

Cheat Sheets für Machine Learning, Python und vieles mehr: https://becominghuman.ai/cheat-sheets-for-ai-neural-networks-machine-learning-deep-learning-big-data-678c51b4b463

Große Liste mit Lernressourcen zur Machine Learning: https://github.com/ujjwalkarn/Machine-Learning-Tutorials/blob/master/README.md

Bewertung der Tutorials

eigene Schätzung oder angegeben? Stimmen die Angaben für unsere Studierenden?

  • Didaktisierung, Lernpfad wie transparent?
  • Zeitaufwand
  • Voraussetzungen
    • Programmieren
    • Statistik
  • Lernergebnis
    • Wie sind die formuliert
    • Was hat man, was fehlt?
    • Kompetenzniveau
    • Schwierigkeit

Bewertung Tutorial-Technik

  • lokale Installation auf Laptop
    • gute Erfahrung mit DokuWikiOnAStick
    • basierend auf Jupyter, interaktiv
  • Cloud, Online
    • Kaggle
    • (eher nicht: Hochschul-Server, VPN)
    • Replikation auf eigene Maschine
      • Kernel 'runterladen mit 2 Terminalbefehle
      • anaconda 500MB
      • ggf. mit xubuntu auf virtualbox, 5MB

Bewertung Kursergebnisse

  • einfach wäre es mit Kaggle inClass

Host-Sprachen

  • Python
  • R
    • https://www.edureka.co/blog/data-science-tutorial/
    • https://www.analyticsvidhya.com/blog/2016/02/complete-tutorial-learn-data-science-scratch/
  • andere
    • Matlab
    • SPSS

große Frameworks

  • auf Zuruf ... 2bd: mit Quelle bestätigen!
    • tensorflow
    • scikit
    • spark?
    • caffee
    • theano: eingestellt
  • Neuronale Netze
    • Eine Einführung: http://www.neuronalesnetz.de/
    • Deep Learning
    • Convolutionals Neural Networks (CNN)
      • CNN einfach mit viel Beispielen: An Intuitive Explanation of Convolutional Neural Networks: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/
      • Vorlesungsreihe Uni Standford CNN (geht tief rein): https://www.youtube.com/playlist?list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv
  • TensorFlow (<-- Aktuell am gefragtesten)
  • andere

Bibliotheken für einzelne Schritte

Datenquellen für ML

Technik

  • integrated development environment (IDE)
    • Jupyter
  • Datenbank, Cloud
    • Hadoop
      • Einstieg in Hadoop (und MapReduce): KOSTENLOSER Kurs: https://de.udacity.com/course/intro-to-hadoop-and-mapreduce--ud617
    • Spark
      • Tutorial zu Apache Spark: https://www.tutorialspoint.com/apache_spark/index.htm
    • BigQuery
    • SQL
    • CSV
    • andere?

Problemklassen

Normatives

  • Recht
    • Datenschutz
  • Ethik

Anhang

einzelne Fragestellungen der TN (OpenSpace-Talks)

BUJ: Verwendung von leichtgewichtigen Ontologien (z.B. SKOS) beim Machine Learning

Benachbarte Disziplinen

Business Intelligence BI

Natural Language Processing (NLP)

Bildverarbeitung, Signal Processing

Extract Transfer Load (ETL)

Terminologiemanagement, Drewer/Schmitz

Semantic Web

Curricula

Business

https://www.alexanderthamm.com/de/data-science-trainee-programm/

Glossar

https://developers.google.com/machine-learning/crash-course/glossary

Begriffe JB

  • Data Mining, Machine Learning, Statistik, KDD black box SVM | Ergebnis zählt | white box Ergebnis | aber auch Erklärungs-Qualität
  • CRISP-Vorgehensmodell
  • Trainingsdaten, Testdaten, n-fold cross validation
  • Modell, Klassifikator
  • https://de.wikipedia.org/wiki/Skalenniveau 3 Nominalskala | 4 Ordinalskala | 5 Intervallskala | 6 Verhältnisskala (auch Ratioskala)
  • Klassifikation, Regression Klasse | numerische Vorhersage Regression: y = f(x) + Störgröße | lineare Regression | lokal gewichtete lineare Regression
  • überwacht, unüberwacht überwachtes Lernen (supervised learning) Klasse / Wert ist vorgeben | unüberwachtes Lernen (uninformiertes) Auffinden von Regelmäßigkeiten Cluster | semi-supervised learning informertes Auffinden von Regelmäßigkieten | boosted | https://en.wikipedia.org/wiki/Semi-supervised_learning: """unlabeled data, when used in conjunction with a small amount of labeled data, can produce considerable improvement in learning accuracy.""" | continuity assumption
  • Regeln Abdeckung (Coverage) einer Regel Coverage = AWP/M | Anzahl der Instanzen der Trainingsdaten, für die die Bedingung zutrifft | Menge aller Attribut-Wert-Paare (Gegenstandsmenge) | Genauigkeit (Accuracy) einer Regel Accuracy = AR/AB | Anzahl der Instanzen der Trainingsdaten, für die die Regel zutrifft | Anzahl der Instanzen der Trainingsdaten, auf die die Regel angewandt werden kann | https://en.wikipedia.org/wiki/Sensitivity_and_specificity#Confusion_matrix condition positive (P) the number of real positive cases in the data | condition negatives (N) the number of real negative cases in the data | true positive (TP) eqv. with hit | true negative (TN) eqv. with correct rejection | false positive (FP) eqv. with false alarm, Type I error | false negative (FN) eqv. with miss, Type II error | COOOLE Abbildung der Confusion Matrix!
  • https://en.wikipedia.org/wiki/Confusion_matrix precision, recall | falsch negativ, falsch positiv | viele weitere
  • Text Mining tf idf auch noch normalisieren in Bezug auf die Dokument-Größe | tsallis entropy | n-Gramm
  • Informationsgehalt, information gain
  • Modell-Typen Klassifikation E-Bäume | Regeln Abdeckung (Coverage), Genauigkeit (Accuracy) | EM (expectation maximization) Mixture of Gaussians“-Modell | Regression Regression Tree | Model Tree: lineare Funktion an den Blättern | Association Rules
  • Bayes, Bayes-sche Netze
  • problematische Daten spärliche | fehlende | fehlerhafte Daten | Ausßreißer vorher eliminieren | Intrusion detection: erkennen | inkonsisente | redundante, abhängige
  • Transformation PCA | Normalisierung
  • overfitting
  • support, minimum support, confidence, lift
  • Attribut-Vektor, curse of dimension,
  • Text Mining tf/idf cosinus | kernel
  • Datasets klassische Iris | künstlich erzeugte
  • Visualisierung Word Cloud | x-y-z-Plots
  • Portale https://en.wikipedia.org/wiki/Portal:Machine_learning | scikit-learn | Visualisierung https://public.tableau.com/en-us/s/ | Notebooks JupyterHub (Server) | Apache Zeppelin